/*******************************************************************************
 * Copyright (c) 2025.
 * IWIN-FINS Lab, Shanghai Jiao Tong University, Shanghai, China.
 * All rights reserved.
 ******************************************************************************/

#ifndef FINEMOTE_MUSIC_SENBONZAKURA_H
#define FINEMOTE_MUSIC_SENBONZAKURA_H

#include "BeepMusicBasic.h"

inline const MusicNote_t Senbonzakura_s[] = {
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L3, 150}, {_0, 50},
    {L4, 40}, {_0, 10},
    {L3, 40}, {_0, 10},
    {L2, 75}, {_0, 25},
    {L1, 150}, {_0, 50}, //3200in this section  1

    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},
    {M4, 150}, {_0, 50},
    {M3, 75}, {_0, 25},
    {M4, 75}, {_0, 25},
    {M3, 75}, {_0, 25},
    {M2, 75}, {_0, 25},
    {M1, 150}, {_0, 50},
    {L6, 150}, {_0, 50}, //3200 in this sec  2

    /* ???? */
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L3, 150}, {_0, 50},
    {L4, 40}, {_0, 10},
    {L3, 40}, {_0, 10},
    {L2, 75}, {_0, 25},
    {L1, 150}, {_0, 50}, //3200 in this sec 3

    {L2, 150}, {_0, 50},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L4, 75}, {_0, 25},
    {L6, 150}, {_0, 50},
    {L5, 75}, {_0, 25},
    {L6, 75}, {_0, 25},
    {M1, 150}, {_0, 50},
    {L6, 75}, {_0, 25},
    {M1, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L3, 75}, {_0, 25},
    {L4, 40}, {_0, 10},
    {L3, 40}, {_0, 10},
    {M2, 150}, {_0, 50},
    {M1, 150}, {_0, 50},
    {M2, 350}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50}, //4

    /* ???? */
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L3, 150}, {_0, 50},
    {L4, 40}, {_0, 10},
    {L3, 40}, {_0, 10},
    {L2, 75}, {_0, 25},
    {L1, 150}, {_0, 50},

    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},
    {M4, 150}, {_0, 50},
    {M3, 75}, {_0, 25},
    {M4, 75}, {_0, 25},
    {M3, 75}, {_0, 25},
    {M2, 75}, {_0, 25},
    {M1, 150}, {_0, 50},
    {L6, 150}, {_0, 50},

    /* ?13?? */
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {L1, 75}, {_0, 25},
    {L4, 150}, {_0, 50},
    {L3, 150}, {_0, 50},
    {L4, 40}, {_0, 10},
    {L3, 40}, {_0, 10},
    {L2, 75}, {_0, 25},
    {L1, 150}, {_0, 50},

    {L5, 75}, {_0, 25},
    {L4, 75}, {_0, 25},
    {L6, 75}, {_0, 25},
    {M1, 75}, {_0, 25},
    {M2, 75}, {_0, 25},
    {M1, 75}, {_0, 25},
    {L6, 75}, {_0, 25},
    {L5, 75}, {_0, 25},
    {L2, 250}, {_0, 50},
    {L4, 75}, {_0, 25},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {_0, 200},
    {L1, 150}, {_0, 50},
    {L2, 350}, {_0, 50},
    {_0, 400},

    /* ???? */
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 350}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 75}, {_0, 25},
    {L5, 75}, {_0, 25},
    {L4, 350}, {_0, 50},
    {L2, 350}, {_0, 50},

    /* ?????? */
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 250}, {_0, 50},
    {L2, 75}, {_0, 25},
    {L2, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L4, 150}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 350}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 75}, {_0, 25},
    {L5, 75}, {_0, 25},
    {L4, 350}, {_0, 50},
    {L2, 350}, {_0, 50},

    /* ?????? */
    {L4, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {LL6, 150}, {_0, 50},
    {LL5, 150}, {_0, 50},
    {LL6, 750}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L5, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L4, 250}, {_0, 50},
    {L4, 75}, {_0, 25},
    {L3, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 750}, {_0, 50}, // ??mjy?


    /* ???? */
    {L4, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {LL6, 150}, {_0, 50},
    {LL5, 150}, {_0, 50},
    {LL6, 350}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 350}, {_0, 50},
    {L5, 350}, {_0, 50},
    {L3, 1150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6, 550}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6U, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6U, 350}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L5, 350}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L1, 150}, {_0, 50},

    {L2, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6, 550}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6U, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6U, 350}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L5, 350}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {M1, 150}, {_0, 50},

    {M2, 350}, {_0, 50}, {_0, 2000},


    /* ?????? */
    {L4, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {LL6, 150}, {_0, 50},
    {LL5, 150}, {_0, 50},
    {LL6, 750}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L5, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L4, 250}, {_0, 50},
    {L4, 75}, {_0, 25},
    {L3, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 750}, {_0, 50},

    /* ???? */
    {L4, 350}, {_0, 50},
    {L3, 350}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L1, 350}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L1, 75}, {_0, 25},
    {L2, 75}, {_0, 25},
    {LL6, 150}, {_0, 50},
    {LL5, 150}, {_0, 50},
    {LL6, 350}, {_0, 50},
    {LL6, 150}, {_0, 50},
    {L1, 150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L2, 350}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 350}, {_0, 50},
    {L5, 350}, {_0, 50},
    {L3, 1150}, {_0, 50},
    {L2, 150}, {_0, 50},
    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 50}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6, 550}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6U, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},


    {L5, 150}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 50}, {_0, 50},
    {L5, 150}, {_0, 50},
    {L6, 150}, {_0, 50},
    {L6, 550}, {_0, 50},
    {L6, 150}, {_0, 50},
    {M1, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L2, 150}, {_0, 50},

    {L4, 150}, {_0, 50},

    {L6U, 350}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L5, 350}, {_0, 50},

    {L4, 350}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L3, 150}, {_0, 50},

    {L5, 150}, {_0, 50},


    {L6, 150}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L7, 150}, {_0, 50},

    {L7, 550}, {_0, 50},

    {L7, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {M3, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L7, 350}, {_0, 50},

    {L3, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L7, 150}, {_0, 50},

    {L7, 550}, {_0, 50},

    {L7, 150}, {_0, 50},

    {M1, 150}, {_0, 50},

    {L7, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L5, 350}, {_0, 50},

    {L3, 150}, {_0, 50},

    {L5, 150}, {_0, 50},


    {L6, 150}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 50}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L7, 150}, {_0, 50},

    {L7, 550}, {_0, 50},

    {L7, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {M3, 150}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L7, 350}, {_0, 50},

    {L3, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {M1, 350}, {_0, 50},

    {L7, 350}, {_0, 50},

    {L6, 350}, {_0, 50},

    {L5, 350}, {_0, 50},

    {L6, 150}, {_0, 50},

    {L5, 150}, {_0, 50},

    {L7, 150}, {_0, 50},

    {M2, 150}, {_0, 50},

    {M3, 750}, {_0, 50},
};

#endif
